package com.example.model.enums;

import lombok.Getter;
import org.springframework.util.ObjectUtils;

import java.util.HashMap;
import java.util.Map;


@Getter
public enum UserRoleEnum {
    USER("用户","user"),
    ADMIN("管理员","admin");

    private final String text;

    private final String value;
    // 预加载所有枚举值到 Map
    private static final Map<String, UserRoleEnum> ENUM_MAP = new HashMap<>();

    static {
        for(UserRoleEnum role : UserRoleEnum.values()){
            ENUM_MAP.put(role.value, role);
        }
    }
    UserRoleEnum(String text, String value) {
        this.text = text;
        this.value = value;
    }

    // 通过 Map 查找，避免遍历
    public static UserRoleEnum getEnumByValue(String value){
        return ObjectUtils.isEmpty(value)? null : ENUM_MAP.get(value);
//        if (ObjectUtils.isEmpty(value)) {
//            return null;
//        }
//        for(UserRoleEnum aEnum : UserRoleEnum.values()){
//            if(aEnum.value.equals(value)){
//                return aEnum;
//            }
//        }
//        return null;
    }


}
